GtkTreeView: Update prelight row after revalidating rows
authorCarlos Garnacho <carlosg@gnome.org>
Thu, 21 Jan 2016 14:22:42 +0000 (15:22 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 22 Jan 2016 20:18:24 +0000 (21:18 +0100)
It might have changed (eg. after a row being expanded, and the child
rows revalidated), so just update it here based on the last pointer
position.

Based on a patch by Maxim Reznik <reznikmm@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=760891

gtk/gtktreeview.c

index b0688e31a56f8b096092dc8c2642cb32cbab7a16..9984f92d67da2777119f0173fa5f523e06ee53b2 100644 (file)
@@ -6990,6 +6990,11 @@ do_validate_rows (GtkTreeView *tree_view, gboolean queue_resize)
   if (path) gtk_tree_path_free (path);
   g_timer_destroy (timer);
 
+  if (!retval && gtk_widget_get_mapped (GTK_WIDGET (tree_view)))
+    update_prelight (tree_view,
+                     tree_view->priv->event_last_x,
+                     tree_view->priv->event_last_y);
+
   return retval;
 }